首页 > 试题广场 >

进制转换

[编程题]进制转换
  • 热度指数:18898 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串(注意可能存在的一个测试用例里的多组数据)。


输入描述:

输入一个十六进制的数值字符串。



输出描述:

输出该数值的十进制字符串。

示例1

输入

0xA

输出

10
list1 = ["A", "B", "C", "D", "E", "F"]

while True:
    try:
        tdata = input()
        rdata = tdata[2:]
        num = 0
        for i in range(len(rdata)):
            if "A" <= rdata[i] <= "F":
                num += 16 ** (len(rdata) - i - 1) * (list1.index(rdata[i]) + 10)
            elif "0" <= rdata[i] <= "9":
                num += 16 ** (len(rdata) - i - 1) * (int(rdata[i]))
        print(num)
    except EOFError:
        break

编辑于 2024-03-14 20:49:19 回复(0)

问题信息

难度:
1条回答 13467浏览

热门推荐

通过挑战的用户

查看代码